Aula 22 - ggplot2
ggplot2ggplot2 é um pacote poderoso para criar visualizações em R.DataAestheticsGeometrynycflights13nycflights13 contém informações sobre todos os voos que partiram de Nova York em 2013.# A tibble: 6 × 19
year month day dep_time sched_dep_time dep_delay arr_time sched_arr_time
<int> <int> <int> <int> <int> <dbl> <int> <int>
1 2013 1 1 517 515 2 830 819
2 2013 1 1 533 529 4 850 830
3 2013 1 1 542 540 2 923 850
4 2013 1 1 544 545 -1 1004 1022
5 2013 1 1 554 600 -6 812 837
6 2013 1 1 554 558 -4 740 728
# ℹ 11 more variables: arr_delay <dbl>, carrier <chr>, flight <int>,
# tailnum <chr>, origin <chr>, dest <chr>, air_time <dbl>, distance <dbl>,
# hour <dbl>, minute <dbl>, time_hour <dttm>
aes() para mapear variáveis para estética.geom_* para especificar a geometria.geom_point(), geom_line(), geom_bar(), etc.pesquisa, um trabalho ou um relatório?# Custom color palette
custom_colors <- c("AA" = "#1b9e77", "AS" = "#d95f02", "B6" = "#7570b3",
"DL" = "#e7298a", "EV" = "#66a61e", "F9" = "#e6ab02",
"FL" = "#a6761d", "HA" = "#666666", "MQ" = "#1b9e77",
"OO" = "#d95f02", "UA" = "#7570b3", "US" = "#e7298a",
"VX" = "#66a61e", "WN" = "#e6ab02", "YV" = "#a6761d")
# Improved ggplot
flights |>
filter(!is.na(dep_delay), !is.na(arr_delay)) |>
filter(dep_delay > 0) |>
group_by(carrier, origin) |>
summarize(avg_dep_delay = mean(dep_delay),
avg_arr_delay = mean(arr_delay),
total_flights = n()) |>
filter(total_flights > 600) |>
ggplot(aes(x = avg_dep_delay, y = avg_arr_delay, color = carrier, size = total_flights)) +
geom_point(alpha = 0.6) +
scale_color_manual(values = custom_colors) +
labs(title = "Atraso na Partida vs Atraso na Chegada com Detalhes",
subtitle = "Comparação entre companhias aéreas e origem dos voos",
x = "Atraso na Partida (minutos)",
y = "Atraso na Chegada (minutos)",
color = "Companhia Aérea",
size = "Total de voos",
shape = "Origem") +
theme_minimal(base_family = "Arial", base_size = 12) +
theme(plot.title = element_text(hjust = 0.5, face = "bold", size = 16),
plot.subtitle = element_text(hjust = 0.5, size = 14),
legend.position = "right",
legend.title = element_text(face = "bold"),
axis.title = element_text(face = "bold")) +
facet_wrap(~origin)Faculdade Belavista